home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / tcl / spectcl-.000 / spectcl- / usr / local / SpecTcl-0.1a / save.ui.tcl < prev    next >
Encoding:
Text File  |  1995-11-06  |  2.7 KB  |  110 lines

  1. # SpecTcl, by S. A. Uhler
  2. # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  3. #
  4. # See the file "license.txt" for information on usage and redistribution
  5. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. #
  7. # interface generated from save.ui
  8. #   root     is the parent window for this user interface
  9.  
  10. proc save_ui {root args} {
  11.  
  12.     # this treats "." as a special case
  13.  
  14.     if {$root == "."} {
  15.         set base ""
  16.     } else {
  17.         set base $root
  18.     }
  19.     
  20.     frame $base.frame#1
  21.  
  22.     label $base.label#1 \
  23.         -text {Save Project}
  24.     catch {
  25.         $base.label#1 configure \
  26.             -font -*-Helvetica-Bold-R-Normal--*-160-*-*-*-*-*-*
  27.     }
  28.  
  29.     entry $base.entry \
  30.         -textvariable entry
  31.  
  32.     listbox $base.listbox \
  33.         -foreground #555 \
  34.         -height 0 \
  35.         -highlightcolor #d9d9d9 \
  36.         -highlightthickness 0 \
  37.         -selectbackground #d9d9d9 \
  38.         -selectforeground #555 \
  39.         -takefocus 0 \
  40.         -width 0 \
  41.         -yscrollcommand "$base.scrollbar#1 set"
  42.     catch {
  43.         $base.listbox configure \
  44.             -font -*-Helvetica-Medium-I-Normal--*-120-*-*-*-*-*-*
  45.     }
  46.  
  47.     scrollbar $base.scrollbar#1 \
  48.         -command "$base.listbox yview" \
  49.         -orient v
  50.  
  51.     button $base.ok \
  52.         -command "save_project  \[$base.entry get\].\$P(file_suffix) 1;destroy $root" \
  53.         -padx 11 \
  54.         -pady 4 \
  55.         -text OK
  56.  
  57.     button $base.button#2 \
  58.         -command "destroy $root" \
  59.         -padx 11 \
  60.         -pady 4 \
  61.         -text Cancel
  62.  
  63.  
  64.     # Geometry management
  65.  
  66.     blt_table $root $base.frame#1     3,3 
  67.     blt_table $root $base.label#1     1,1  \
  68.         -columnspan 3
  69.     blt_table $root $base.entry     2,1 
  70.     blt_table $root $base.listbox     3,1  \
  71.         -fill both
  72.     blt_table $root $base.scrollbar#1     3,2  \
  73.         -fill y
  74.     blt_table $base.frame#1 $base.ok     1,1  \
  75.         -fill both
  76.     blt_table $base.frame#1 $base.button#2     3,1  \
  77.         -fill both
  78.  
  79.     # Resize behavior management
  80.  
  81.     blt_table row $root configure all -resize none
  82.     blt_table row $root configure 3 -resize both
  83.     blt_table row $root configure 1 -height {30 Inf}
  84.     blt_table row $root configure 2 -height {30 Inf}
  85.     blt_table row $root configure 3 -height {148 Inf}
  86.     blt_table column $root configure all -resize none
  87.     blt_table column $root configure 1 -resize both
  88.     blt_table column $root configure 1 -width {136 Inf}
  89.     blt_table column $root configure 2 -width {30 Inf}
  90.     blt_table column $root configure 3 -width {30 Inf}
  91.  
  92.     blt_table row $base.frame#1 configure all -resize none
  93.     blt_table row $base.frame#1 configure 1 -height {30 Inf}
  94.     blt_table row $base.frame#1 configure 2 -height {30 Inf}
  95.     blt_table row $base.frame#1 configure 3 -height {30 Inf}
  96.     blt_table column $base.frame#1 configure all -resize none
  97.     blt_table column $base.frame#1 configure 1 -width {30 Inf}
  98. # additional interface code
  99. bind $base.entry <Return> "$base.ok invoke"
  100.  
  101. # fill the list box
  102.  
  103. set files ""
  104. regsub -all {\.ui } "[glob -nocomplain *.ui] " { } files
  105. eval $base.listbox insert 0 [lsort $files]
  106.  
  107. # end additional interface code
  108.  
  109. }
  110.